package daily.may0509;

//定义泛型接口
interface MyGenericInterface<TYPE>{
    void show(TYPE content);
}
//方式一：定义实现类时就确定泛型的类型
class ImpMyGenericInterface_1 implements MyGenericInterface<String>{
    @Override
    public void show(String content) {
        System.out.println(content);
    }
}
//方式二：接口使用什么泛型，实现类就使用什么泛型
class ImpMyGenericInterface_2<TYPE> implements MyGenericInterface<TYPE>{
    @Override
    public void show(TYPE content) {
        System.out.println(content);
    }
}

public class GenericInterfaceTest {
    public static void main(String[] args) {
        //方式一
        ImpMyGenericInterface_1 obj_1 = new ImpMyGenericInterface_1();
        obj_1.show("定义类时确定泛型的类型");
        //方式二
        ImpMyGenericInterface_2<Integer> obj_2 = new ImpMyGenericInterface_2<>();
        obj_2.show(123);
    }
}
